// 和自定义事件有关的内容 都在这个类里；
// 默认导出
export default class MyEvent {
  constructor() {
    // 事件对象
    this.eventObj = {};
  }// 把多个事件名称 和多个事件函数 保存起来

  // 保存事件
  addEvent (eventName, fn) {
    // 第一次绑定的时候 把 事件名初始化成一个数组
    if (typeof this.eventObj[eventName] === "undefined") {
      this.eventObj[eventName] = [];
    }
    // 保存事件 
    this.eventObj[eventName].push(fn);
  }

  // 执行事件
  trigger (eventName) {
    // 把之前保存的函数 取出来执行就可以了
    if (typeof this.eventObj[eventName] !== "undefined") {
      this.eventObj[eventName].forEach(fn => {
        console.log(fn);
        fn();
      })
    } else {
      throw Error("参数传递错误");
    }
  }
}